package com.thinkgem.jeesite.modules.sys.entity;

import com.thinkgem.jeesite.common.persistence.MyBaseEntity;
import com.thinkgem.jeesite.modules.product.entity.attribute.TbProductAttribute;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

public class TbProduct extends MyBaseEntity{
    private Integer id;
    private Integer proId;

    private String title;

    private String sellPoint;

    private BigDecimal retailPrice;
    private BigDecimal price;
    private String attr;
    private BigDecimal wholesalePrice;

    private String size;

    private String color;

    private String barcode;
    private String shopId;

    private Integer isMaintainStoreNum;
    private Integer flag;

    private String categoryId;

    private Byte isUseMqWallet;

    private Date createTime;
    private Date reserveStartTime;
    private Date reserveEndTime;
    private String reserveStartTime01;
    private String reserveEndTime01;
    private String reserveStartTime02;
    private String reserveEndTime02;

    private Date updateTime;
    private String updateTimeStr;
    private Byte isDelete;

    private Byte status;

    private Integer proSort;

    private String agentId;    //agentId标识当前代理商ID

    private Integer num;        //库存

    private String productDesc;
    //备注 进货列表使用
    private String remarks;

    private String reserveFlag;

    private String isStatus;//上架状态

    public String getUpdateTimeStr() {
        return updateTimeStr;
    }

    public void setUpdateTimeStr(String updateTimeStr) {
        this.updateTimeStr = updateTimeStr;
    }

    public BigDecimal getPrice() {
        return price;
    }

    public void setPrice(BigDecimal price) {
        this.price = price;
    }

    public String getAttr() {
        return attr;
    }

    public void setAttr(String attr) {
        this.attr = attr;
    }

    public String getShopId() {
        return shopId;
    }

    public void setShopId(String shopId) {
        this.shopId = shopId;
    }

    public Integer getFlag() {
        return flag;
    }

    public void setFlag(Integer flag) {
        this.flag = flag;
    }

    private List<TbProductAttribute> productAttr;
    private List<TbAgentProduct> tbAgentProduct;
    private List<TbProductAttributeGroup> productAttrGroup;
    private List<TbShopProduct> tbshopProductList;

    private List<String> uploadUrl;

    private String img;
    private String categoryName;
    private String gender;
    private Integer pageNo;
    private Integer pageSize;

    public Integer getProId() {
        return proId;
    }

    public void setProId(Integer proId) {
        this.proId = proId;
    }

    public List<TbShopProduct> getTbshopProductList() {
        return tbshopProductList;
    }

    public void setTbshopProductList(List<TbShopProduct> tbshopProductList) {
        this.tbshopProductList = tbshopProductList;
    }

    public List<TbAgentProduct> getTbAgentProduct() {
        return tbAgentProduct;
    }

    public void setTbAgentProduct(List<TbAgentProduct> tbAgentProduct) {
        this.tbAgentProduct = tbAgentProduct;
    }

    private Integer productAttrLength;//用作商品属性结合的长度

    public List<TbProductAttributeGroup> getProductAttrGroup() {
        return productAttrGroup;
    }

    public void setProductAttrGroup(List<TbProductAttributeGroup> productAttrGroup) {
        this.productAttrGroup = productAttrGroup;
    }

    public Integer getProductAttrLength() {
        return productAttrLength;
    }

    public void setProductAttrLength(Integer productAttrLength) {
        this.productAttrLength = productAttrLength;
    }

    public Integer getPageNo() {
        return pageNo;
    }

    public void setPageNo(Integer pageNo) {
        this.pageNo = pageNo;
    }

    public Integer getPageSize() {
        return pageSize;
    }

    public void setPageSize(Integer pageSize) {
        this.pageSize = pageSize;
    }

    public String getGender() {
        return gender;
    }

    public String getReserveStartTime01() {
        return reserveStartTime01;
    }

    public void setReserveStartTime01(String reserveStartTime01) {
        this.reserveStartTime01 = reserveStartTime01;
    }

    public String getReserveEndTime01() {
        return reserveEndTime01;
    }

    public void setReserveEndTime01(String reserveEndTime01) {
        this.reserveEndTime01 = reserveEndTime01;
    }

    public String getReserveStartTime02() {
        return reserveStartTime02;
    }

    public void setReserveStartTime02(String reserveStartTime02) {
        this.reserveStartTime02 = reserveStartTime02;
    }

    public String getReserveEndTime02() {
        return reserveEndTime02;
    }

    public void setReserveEndTime02(String reserveEndTime02) {
        this.reserveEndTime02 = reserveEndTime02;
    }

    public void setGender(String gender) {
        this.gender = gender;
    }

    public Date getReserveStartTime() {
        return reserveStartTime;
    }

    public void setReserveStartTime(Date reserveStartTime) {
        this.reserveStartTime = reserveStartTime;
    }

    public Date getReserveEndTime() {
        return reserveEndTime;
    }

    public void setReserveEndTime(Date reserveEndTime) {
        this.reserveEndTime = reserveEndTime;
    }

    public String getReserveFlag() {
        return reserveFlag;
    }

    public void setReserveFlag(String reserveFlag) {
        this.reserveFlag = reserveFlag;
    }

    public Integer getNum() {
        return num;
    }

    public void setNum(Integer num) {
        this.num = num;
    }

    public String getAgentId() {
        return agentId;
    }
    public void setAgentId(String agentId) {
        this.agentId = agentId;
    }

    public Integer getProSort() {
        return proSort;
    }

    public void setProSort(Integer proSort) {
        this.proSort = proSort;
    }

    public String getImg() {
        return img;
    }

    public void setImg(String img) {
        this.img = img;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title == null ? null : title.trim();
    }

    public String getSellPoint() {
        return sellPoint;
    }

    public void setSellPoint(String sellPoint) {
        this.sellPoint = sellPoint == null ? null : sellPoint.trim();
    }

    public BigDecimal getRetailPrice() {
        return retailPrice;
    }

    public void setRetailPrice(BigDecimal retailPrice) {
        this.retailPrice = retailPrice;
    }

    public BigDecimal getWholesalePrice() {
        return wholesalePrice;
    }

    public void setWholesalePrice(BigDecimal wholesalePrice) {
        this.wholesalePrice = wholesalePrice;
    }

    public String getSize() {
        return size;
    }

    public void setSize(String size) {
        this.size = size == null ? null : size.trim();
    }

    public String getColor() {
        return color;
    }

    public void setColor(String color) {
        this.color = color == null ? null : color.trim();
    }

    public Integer getIsMaintainStoreNum() {
        return isMaintainStoreNum;
    }

    public void setIsMaintainStoreNum(Integer isMaintainStoreNum) {
        this.isMaintainStoreNum = isMaintainStoreNum;
    }

    public String getBarcode() {
        return barcode;
    }

    public void setBarcode(String barcode) {
        this.barcode = barcode == null ? null : barcode.trim();
    }

    public String getCategoryId() {
        return categoryId;
    }

    public void setCategoryId(String categoryId) {
        this.categoryId = categoryId;
    }

    public Byte getIsUseMqWallet() {
        return isUseMqWallet;
    }

    public void setIsUseMqWallet(Byte isUseMqWallet) {
        this.isUseMqWallet = isUseMqWallet;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public Byte getIsDelete() {
        return isDelete;
    }

    public void setIsDelete(Byte isDelete) {
        this.isDelete = isDelete;
    }

    public Byte getStatus() {
        return status;
    }

    public void setStatus(Byte status) {
        this.status = status;
    }

    public List<TbProductAttribute> getProductAttr() {
        return productAttr;
    }

    public void setProductAttr(List<TbProductAttribute> productAttr) {
        this.productAttr = productAttr;
    }

    public List<String> getUploadUrl() {
        return uploadUrl;
    }

    public void setUploadUrl(List<String> uploadUrl) {
        this.uploadUrl = uploadUrl;
    }

    public String getProductDesc() {
        return productDesc;
    }

    public void setProductDesc(String productDesc) {
        this.productDesc = productDesc;
    }

    @Override
    public void preInsert() {

    }

    public String getCategoryName() {
        return categoryName;
    }

    public void setCategoryName(String categoryName) {
        this.categoryName = categoryName;
    }

    @Override
    public void preUpdate() {

    }

    public String getRemarks() {
        return remarks;
    }

    public void setRemarks(String remarks) {
        this.remarks = remarks;
    }

    public String getIsStatus() {
        return isStatus;
    }

    public void setIsStatus(String isStatus) {
        this.isStatus = isStatus;
    }
}